class Compose {
    constructor(name) {
        this.name = name;

        // 初始化一个组件列表
        this.components = new Set();
    }

    // 注册组件
    registerComponent(component) {
        this.components.add(component);
    }

    // 注销组件
    removeComponent(component) {
        this.components.delete(component);
    }

    // 模式切换
    switchTo(mode) {
        // 组合切换到模式A即所有组件都切换到模式A
        this.components.forEach((c) => c.switchTo(mode));
    }
}

class Component {
    // 模式切换
    switchTo(mode) {
        // 留白等待子类去做具体实现
    }
}
